/******************************************************************************
 *  Date:
 *      March 2011
 *
 *  Authors:
 *      Tomasz Jankowski 171073
 *
 *  Puprose:
 *      An academic project on Univercity of technologi in Wroclaw.
 *
 ******************************************************************************/
 
#ifndef VECTOR_HPP
#define VECTOR_HPP

#include <cstring>

template<typename T> class Vector
{
    public:
        Vector (unsigned int elements_count) :
            table (new T [elements_count]),
            elements_count (elements_count)
        {
            // ...
        }
        
        ~Vector (void)
        {
            delete [] this->table;
        }
        
        T& operator [] (unsigned int position)
        {
            return this->table [position];
        }
        
        unsigned int size (void) const
        {
            return this->elements_count;
        }
        
    private:
        T*                 table;
        const unsigned int elements_count;
};

#endif // VECTOR_HPP
